﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ServiceModel;

namespace Peer
{
    [ServiceContract(Namespace = "Peer", CallbackContract = typeof(IPeer))]
    public interface IPeer
    {
        [OperationContract(IsOneWay = true)]
        void Join(string id);

        [OperationContract(IsOneWay = true)]
        void Sync(string id);

        [OperationContract(IsOneWay = true)]
        void ResponseSync(string id);

        [OperationContract(IsOneWay = true)]
        void Create(CreateMessage msg );

        [OperationContract(IsOneWay = true)]
        void Delete(DeleteMessage msg);

        [OperationContract(IsOneWay = true)]
        void Change(ChangeMessage msg);

        [OperationContract(IsOneWay = true)]
        void Rename(RenameMessage msg);       

    }

    public interface IPeerChannel : IPeer, IClientChannel
    {
    }
}
